home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
A-Monthly Disks
/
(c)aas.d64
/
act 1
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2007-02-04
|
6KB
|
174 lines
100 REM KANGAROOS (ACT I) BY DENNIS DUNK
110 POKE53280,0:POKE53281,5
120 PRINT"[147][146]";
130 FOR I=1TO24:PRINT" [146]";:NEXT
140 P=2040:V=53248:REM P=POINTER V=VIC
150 FORK=0TO16 STEP2:POKEV+K,0:NEXTK:REM SET X TO ZERO
160 FORK=1TO15 STEP2:POKEV+K,0:NEXTK:REM SET Y TO ZERO
170 SN=200:POKEP+2,SN:REM SPRITE # TO POINTER #2
180 POKEV+41,12:REM SPRITE #2 COLOR
190 POKEV+29,4:POKEV+23,4:REM EXPAND
200 POKEV+21,4:REM TURN ON SPRITE #2
210 Y=199:POKEV+5,Y:REM Y POSITION
220 GOSUB 1730
230 X=0:FORX=0TO13:POKEV+4,X:GOSUB1710:Y=Y-1:POKEV+5,Y:NEXTX:REM UP
240 X=0:FORX=14TO28:POKEV+4,X:GOSUB1710:Y=Y+1:POKEV+5,Y:NEXTX:REM DOWN
250 SYS 37120:REM MUSIC
260 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
270 IFSN=214THEN PRINT"[146]I'M A KANGAROO, MATE"
280 IFSN=214 THEN PRINT"BUT DON'T TIE ME DOWN!":FORD=1TO2000:NEXTD
290 IF SN=215 THEN PRINT"BECAUSE I'M A HOPPY,"
300 IF SN=215 THEN PRINT"BOPPY KIND OF KANGAROO."
310 X=X+1:POKEV+4,X
320 IF C<31 THEN 260
330 PRINT"[147][146]";:RO=0
340 FOR I=1TO24:PRINT" [146]";:NEXT
350 POKEP+7,135:POKEV+46,1:POKEV+23,132:POKEV+29,132:POKEV+14,0:POKEV+15,110
360 POKEV+21,132:CX=0:CY=110:REM CLOUD
370 SN=231:C=0:RP=RP+1
380 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
390 X=X+2:POKEV+4,X
400 IF C<5 THEN 380
410 IF RP<2 THEN 370
420 SN=236:C=0:REM SPIN
430 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
440 X=X+3:POKEV+4,X:CX=CX+1:POKEV+14,CX
450 IF C<18 THEN 430
460 SN=200:C=0:POKEP+7,136:CY=CY-2:POKEV+15,CY
470 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
480 X=X+2:POKEV+4,X:CX=CX+1:POKEV+14,CX
490 IF C<6 THEN 470
500 SN=206:C=0:POKEP+7,135:CY=CY-2:POKEV+15,CY
510 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
520 X=X+3:POKEV+4,X:CX=CX+1:POKEV+14,CX
530 IF C<4 THEN 510
540 SN=255:POKEP+2,SN:GOSUB1720
550 SN=184:C=0
560 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
570 IF C<3 THEN 560
580 SN=208:C=0:POKEP+7,136:CY=CY-2:POKEV+15,CY
590 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
600 IF C<3 THEN 590
610 SN=255:POKEP+2,SN:GOSUB1720
620 POKEV+40,15:REM SPRITE #1 COLOR
630 SN=165:POKEP+1,SN:POKEV+21,134:REM TURN ON SPRITE # 1
640 SY=Y:SX=X:X=X+10:Y=Y+3:POKEV+3,Y:POKEV+2,X:REM SAVE X & Y SET-SPRITE #1
650 SN=165:C=0:REM RISE FROM POUCH
660 SN=SN+1:POKEP+1,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
670 IF C<7 THEN 660
680 IF Y=221 THEN 700
690 Y=Y+1:POKEV+3,Y:GOSUB1710:GOTO 680
700 SN=215:POKEP+1,SN:GOSUB1720
710 SN=216:POKEP+1,SN:GOSUB1720
720 SN=217:POKEP+1,SN:GOSUB1720
730 RP=0:J=X:POKEP+7,135:CY=CY-2:POKEV+15,CY
740 FORK=J TO J-15 STEP-1:X=X-1:POKEV+2,X:GOSUB1710:CX=CX+1:POKEV+14,CX
750 Y=Y-1:POKEV+3,Y:NEXTK:REM UP
760 J=X:POKEP+7,136
770 FORK=J TO J-15 STEP-1:X=X-1:POKEV+2,X:GOSUB1710:CX=CX+1:POKEV+14,CX
780 Y=Y+1:POKEV+3,Y:NEXTK:REM DOWN
790 RP=RP+1:IF RP<3 THEN 740
800 SN=216:POKEP+1,SN:C=C+1:GOSUB1720
810 SN=215:POKEP+1,SN:C=C+1:GOSUB1720
820 SN=255:POKEP+1,SN:C=C+1:GOSUB1720
830 POKEV+39,15:REM SPRITE #0 COLOR
840 SN=165:POKEP+0,SN:POKEV+21,135:REM TURN ON SPRITE # 0
850 Y=SY:X=SX:X=X+10:Y=Y+3:POKEV+1,Y:POKEV+0,X:REM RESET X & Y SET-SPRITE #0
860 SN=165:C=0:REM RISE FROM POUCH
870 SN=SN+1:POKEP+0,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
880 IF C<7 THEN 870
890 IF Y=221 THEN 910
900 Y=Y+1:POKEV+1,Y:GOSUB1710:GOTO 890
910 SN=210:C=0:POKEP+7,135:CY=CY-2:POKEV+15,CY
920 POKEP+0,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
930 IF C<4 THEN SN=SN-1:GOTO 920
940 RP=0:J=X:POKEP+7,136:CY=CY-2:POKEV+15,CY
950 FORK=JTOJ+15:X=X+1:POKEV+0,X:GOSUB1710:IF X=255THENPOKEV+16,1:X=0
960 Y=Y-1:POKEV+1,Y:CX=CX+1:POKEV+14,CX:NEXTK:REM UP
970 FORK=JTOJ+15:X=X+1:POKEV+0,X:GOSUB1710:IF X=255THENPOKEV+16,1:X=0
980 Y=Y+1:POKEV+1,Y:CX=CX+1:POKEV+14,CX:NEXTK:REM DOWN
990 RP=RP+1:IF RP<3 THEN 950
1000 SN=216:POKEP+0,SN:C=C+1:GOSUB1720:POKEP+7,135
1010 SN=215:POKEP+0,SN:C=C+1:GOSUB1720
1020 SN=255:POKEP+0,SN:C=C+1:GOSUB1720
1030 GOSUB 1040:GOSUB 1200:GOSUB 1310:GOTO 1390
1040 SN=236:C=0:REM BOP LEFT
1050 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1060 IF C<8 THEN 1050
1070 SN=214:C=0:CY=CY-2:POKEV+15,CY
1080 SN=SN+1:IF SN=218 THEN SN=219
1090 POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1100 IF CX=>252THEN CX=0:POKEV+16,129:POKEV+14,CX
1110 IF C<12 THEN 1080
1120 SN=231:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,136
1130 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1140 IF C<4 THEN 1130
1150 SN=246:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,135
1160 SN=SN-1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1170 IF C<8 THEN 1160
1180 SN=255:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:POKEP+7,136
1190 RETURN
1200 SN=211:C=0:REM BOP RIGHT
1210 SN=SN-1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1220 IF C<4 THEN 1210
1230 SN=183:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,136
1240 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1250 IF C<15 THEN 1240
1260 SN=206:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,135
1270 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1280 IF C<4 THEN 1270
1290 SN=255:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720
1300 RETURN
1310 SN=236:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,136:REM ALL SPIN
1320 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1330 IF C<17 THEN 1320
1340 SN=206:C=0:CY=CY-2:POKEV+15,CY:POKEP+7,135
1350 SN=SN+1:POKEP+2,SN:POKEP+1,SN:POKEP,SN:C=C+1:GOSUB1720:CX=CX+1:POKEV+14,CX
1360 IF C<4 THEN 1350
1370 SN=255:POKEP+2,SN:POKEP+1,SN:POKEP,SN:GOSUB1720
1380 RETURN
1390 SN=236:C=0:POKEP+7,136:CX=CX+4:POKEV+14,CX:REM BIG 1 EXITS
1400 SN=SN+1:POKEP+2,SN:C=C+1:GOSUB1720
1410 IF C<8 THEN 1400
1420 X=SX:Y=SY:RP=0:POKEV+21,7
1430 FORK=XTOX-18STEP-1:POKEV+4,K:GOSUB1710:Y=Y-1:POKEV+5,Y:NEXTK:REM UP
1440 X=X-18
1450 FORK=XTOX-18STEP-1:POKEV+4,K:GOSUB1710:Y=Y+1:POKEV+5,Y:NEXTK:REM DN
1460 X=X-18:RP=RP+1
1470 IF RP<4 THEN 1430
1480 X=X-1:POKEV+4,X:GOSUB1710
1490 IF X>0 THEN 1480
1500 POKEV+21,3
1510 GOSUB 1200:GOSUB 1310:GOSUB 1040:REM 2 SMALL DANCERS
1520 YB=200:YS=221:CS=173:CU=CS:CF=179:CD=CF:POKEV+16,1:X=0
1530 POKEP+3,180:POKEV+42,7:POKEV+6,12:POKEV+7,YB:REM BALLOON
1540 POKEP+7,176:POKEV+46,1:POKEV+14,1:POKEV+15,YS:REM STRING
1550 POKEV+21,139
1560 FORX=0TO100STEP2:POKEV+6,X+13:POKEV+14,X+1:POKEV+7,YB:POKEV+15,YS:YB=YB-1
1570 IF CU=CF THEN CD=CD-1:POKEP+7,CU
1580 IF CU<>CF THEN CU=CU+1:POKEP+7,CU
1590 IF CD=CS THEN CU=173:CD=179
1600 YS=YS-1:GOSUB1710:NEXTX
1610 FORX=101TO197STEP2:POKEV+6,X+13:POKEV+14,X+1:POKEV+7,YB:POKEV+15,YS:YB=YB-3
1620 IF CU=CF THEN CD=CD-1:POKEP+7,CU
1630 IF CU<>CF THEN CU=CU+1:POKEP+7,CU
1640 IF CD=CS THEN CU=173:CD=179
1650 YS=YS-3:GOSUB1710:NEXTX
1660 POKEV+21,3
1670 PRINT"PREPARING ACT II"
1680 FOR D=1TO750:NEXT D
1690 F$="ACT 2":PRINT"[147] LOAD"+CHR$(34)+F$+CHR$(34)+",8": PRINT "RUN"
1700 POKE198,4: POKE631,19: POKE632,13: POKE633,13: POKE634,13:END
1710 FOR D=1TO40:NEXT D:RETURN
1720 FOR D=1TO100:NEXT D:RETURN
1730 REM BONG
1740 S=54272:REM START OF SOUND CHIP
1750 POKE S+24,15:REM FULL VOLUME
1760 G=00:H=10:REM SET VOICES
1770 POKE S+1,G:N=N+1:REM VOICE 1 FREQ
1780 POKE S+5,9:POKE S+6,12:REM ADSR
1790 POKE S+15,H:REM VOICE TWO FREQUENCY
1800 FOR N=1TO50:POKE S+4,21:REM 21=17+4, TURN ON TRI WAVE + RING MOD, NO. HITS
1810 FOR T=1TO30:NEXT:POKE S+4,20:REM TIME BETWEEN CHIMES
1820 RETURN